The telecommunications industry, through the European Broadcasting Union, has promulgated a set of standards for digital video broadcasting (DVB). Among the most recent of such standards is one (entitled ETSI EN 302 304, “Digital Video Broadcasting Transmission System for Handheld Terminals”) related to digital video broadcasting (DVB) to a handheld device (DVB-H), which sets forth agreed upon requirements for delivering live broadcast television to mobile phones and the like. In large part, this standard relies upon earlier-developed standards within the DVB family, including ETSI EN 301 192, “Digital Video Broadcasting Specification for Data Broadcasting”. Each of these documents is incorporated herein by reference.
With DVB-H, viewers are able to receive television-like services on their handheld devices. While exciting this prospect does pose certain technical challenges for example with respect to power consumption and error resilience at the handheld device. In order to prolong battery life of a handheld device, the DVB-H specification provides for “time-slicing”. That is, data is delivered to the handheld device in bursts at various time intervals. When not receiving a desired burst of data, the tuner of the handheld device is powered down, thereby conserving battery power. The user does not notice the period of inactivity since the data bursts are stored in memory and played out continuously.
To provide for error resilience, needed because of the mobile operating environment of the handheld device, the DVB-H specification allows for the use of two levels of forward error correction (FEC); one at the transport stream (TS) layer, and an additional level of FEC at the multi-protocol encapsulation (MPE) layer. To better understand this statement, first recognize that the DVB-H communication protocol is designed for transporting MPEG-2 compliant data packets that include the audio/video information which makes up the television or other program. MPEG-2 is the video and audio compression standard used by DVDs and to provide many present-day digital television services. The MPEG-2 standard provides its own FEC capabilities by sending redundant information with the audio/video data in order to allow the receiver to reconstruct that data if there are any errors in transmission. Multi-protocol encapsulation provides a means for combining multiple MPEG-2 packets in a single frame, in this case as IP datagrams, and the DVB-H standard adds an additional (optional) layer of FEC capability for MPE frames.
Referring now to FIG. 1A, which is adapted from the DVB-H specification, the conceptual structure of a DVB-H receiver 10 is shown. Receiver 10 includes a DVB-H demodulator 12 and a DVB-H terminal 14. The DVB-H terminal is an application layer device that receives the decoded TS packets and IP datagrams from the DVB-H demodulator 12. Examples of such terminals include mobile phone platforms, personal digital assistant platforms, and the like. The precise nature of such application level platforms is not critical to the present invention and so will not be described further herein.
The DVB-H demodulator 12 includes a DVB demodulator 16 which is configured to recover the MPEG-2 TS packets from the received RF signal 18. In addition, a time slicing module 20 is coupled to receive the output of the DVB demodulator and configured to provide power control signals 22 to that demodulator. As indicated above, the power control signals provide for powering the DVB demodulator 16 on and off according to the burst schedule being used. The timing of subsequent bursts are communicated in each burst so the time slicing module 20 is able to power up the DVB demodulator 16 sufficiently in advance of the expected time of receipt of the next such burst to provide for synchronization, etc.
Further, an MPE-FEC module 24 is coupled to receive the output of the DVB demodulator 16 and to provide the IP datagrams as outputs to the DVB-H terminal 14. The MPE-FEC module 24 provides the additional forward error correction capabilities alluded to above, allowing the receiver 10 to cope with difficult receiving conditions.
The structure of an MPE-FEC frame 26 is shown in FIG. 2. This figure is also adapted from the DVB-H specification. Frame 26 has 255 columns and a flexible number of rows (256, 512, 728 or 1024). During transmission, the IP datagrams, which include the MPEG-2 audio/video information, are introduced into the left-hand side (columns 0-190) of MPE-FEC frame 26 in a column-by-column fashion, with each datagram immediately following the preceding datagram. This portion of the frame is referred to as the application data table 28. If the application data table is not completely filled by the IP datagrams, the remaining space is zero padded.
The right-hand side of the MPE-FEC frame 26 (columns 191-254) is called the RS data table 29, and is used to store up to 64 Reed-Solomon parity bytes (RS data) for each row of the 191 columns of the application data table. The code used is Reed-Solomon RS (255, 191), hence each row of the RS data table contains one RS codeword. Similar to the zero padding for the application data table 28, puncturing may be used for the right-most columns of the RS data table 29.
Each IP datagram of the application data table 28 is transmitted as one or more MPE sections and each column of the RS data table 29 is transmitted as an MPE-FEC section. Each such section is protected by a CRC-32 code. Hence, as each section is received (e.g., at receiver 10), a CRC-32 check can be made to determine if there were any errors in the received section. Erroneous sections may be discarded as the receiver 10 organizes correctly received columns (or sections) of the application data table and RS data table into a corresponding MPE-FEC frame using start addresses provided with each section.
Thus, the MPE-FEC frame initially produced at receiver 10 is likely to include gaps where transmission errors have resulted in discarding of various sections. MPE-FEC module 24 is responsible for “filling in” these gaps, if possible, using the RS data table information. Conventional receivers configured in accordance with the DVB-H specification will mark all packets that could not be corrected using the primary FEC layer (i.e., the TS FEC layer) as “error” packets in their entirety. This permits the second FEC layer to perform a gross level of erasure marking when constructing the input frames for the MPE-FEC correction process. While useful, these techniques do not make the best use of all of the available error information provided by the MPEG-2 TS FEC layer and so the error resilience provided by the existing MPE-FEC scheme is not as robust as it could otherwise be. The present invention addresses these deficiencies.